3.4 [Defines] Section
This is an optional section. This section, if present, must be the first section following comment blocks at the beginning of the file.
Summary
This section describes the defines section content in the FDF files. This file can be created by a developer and is an input to the EDK II build tool parsing utilities. Elements may appear in any order within this section.
The code for this version of the FDF specification is "0x0001001C". New versions of this specification must increment the minor (001C) portion of the specification code for backward-compatible changes, and increment the major specification number for non-backward-compatible changes.
This revision of the specification adds new features. Any FDF file that uses
these new features must use the value 0x0001001C
in the FDF_SPECIFICATION
statement. Older FDF files that do not use these new feature do not need to
update the value.
Conditional statements may be used anywhere within this section.
Prototype
<Defines> ::= "[Defines]" <EOL>
[<TS> "FDF_SPECIFICATION" <Eq> <SpecVer> <EOL>]
[<TS> "FDF_VERSION" <Eq> <DecimalVersion> <EOL>] <DefStmts>*
<DefStmts> ::= {<MacroDefinition>} {<SetStmts>} {<IncludeStatement>}
<UiNameType> ::= <AsciiString>
<SpecVer> ::= {<HexVersion>} {(0-9)+ "." (0-9)+}
<SetStmts> ::= <TS> "SET" <MTS> <PcdName> <Eq> [<VALUE>] <EOL>
<VALUE> ::= {<Number>} {<Boolean>} {<GUID>} {<CArray>}
{<CString>} {<UnicodeString>} {<Expression>}
Parameters
Expression
Refer to the EDK II Expression Syntax Specification for more information.
FDF_VERSION
The version number for this flash definition; the value is not used by build tools, but the version element is provided for user tracking capabilities that may be used by other user interface tools.
FDF_SPECIFICATION
For this specification, the version value is 0x0001001C. Tools that process
this version of the FDF file can successfully process earlier versions of the
FDF files (this is a backward compatible update). If an FDF file with an
earlier version of the FDF_SPECIFICATION
is modified to use a feature added
in the 1.28 version of this specification must be updated to 0x0001001C. There
is no requirement to change existing entries if no other content changes. This
value may also be specified as decimal value, such as 1.28.
PcdNames
PCDs defined in this section take precedence over PCD values specified in other meta-data files. Note that PCDs defined via the SET statements in sub-sections of the document can override the values set here as well as in other EDK II meta-data files.
Example
[Defines]
FDF_SPECIFICATION = 0x0001001C
DEFINE BIG_STUFF = False
SET gEfiMyPlatformTokenSpaceGuid.MyUsbFlag = True